package com.airlines.system.service;
import java.util.List;

import com.airlines.system.domain.SysRole;
import com.airlines.system.domain.SysUser;

public interface SysRoleService {

    /**
     * 查询所有的角色信息
     *
     * @return
     */
    List<SysRole> findAll();

    /**
     * 查询该系统拥有的角色组
     *
     * @param typeId
     * @return
     */
    List<SysRole> findAllByType(String typeId);

    /**
     * 通过id获取一条记录
     *
     * @param roleId
     * @return
     */
    SysRole findOne(String roleId);


    /**
     * 获取该角色组的所有用户
     */
    List<SysUser> findUsersByRoleId(String roleId);


    /*
     *//**
     * 新增角色组
     * @param typeCode
     * @param sysRole
     * @return
     *//*
    Boolean addRole(String typeCode, SysRole sysRole);

    *//**
     * 删除角色组
     * @param roleId
     * @return
     *//*
    boolean deleteRole(String roleId);

    *//**
     * 返回一个角色，包含角色权限
     * @param roleId
     * @return
     *//*
    SysRole findOneRoleWithMenus(String roleId);


    *//**
     * 删除某个角色组管理的用户
     * @param roleId
     * @param userId
     *//*
    void deleteUserRoleByRoleIdAndUserId(String roleId, String userId);

    *//**
     * 从OA获取部门组织架构列表
     * @return
     *//*
    List<OaDepartmentDO> listDeptFromOA();

    *//**
     * 根据部门id从OA获取该部门员工列表
     * @return
     *//*
    List<SysUser> listDeptEmpFromOA(String deptId);

    *//**
     * 为角色添加单个用户
     * @param roleId
     * @param sysUser
     * @return
     *//*
    List<SysUser> addUser2Role(String roleId, SysUser sysUser);

    *//**
     * 为角色批量添加用户
     * @param roleId
     * @param sysUsers
     * @return
     *//*
    List<SysUser> addUsers2Role(String roleId, List<SysUser> sysUsers);

    *//**
     * 通过工号从OA获取员工
     * @param workNo
     * @return
     *//*
    List<SysUser> listEmpFromOAByNo(String workNo);

    *//**
     * 保存该角色编辑的权限列表
     *
     * @param roleId
     * @param menuIds
     * @param funcList
     * @return
     *//*
    SysRole editRight(String roleId, List<String> menuIds, List<SysFunc> funcList);

    *//**
     * 通过roleName模糊查询
     * @param roleName
     * @return
     *//*
    List<SysRole> searchByRoleName(String roleName);
*/
}
